// samsting : this file is auto create.

#include "Ecs/2014-05-26/DescribeInstancesResponse.h"

namespace aliyun { namespace Ecs {

DescribeInstancesResponse::DescribeInstancesResponse() {
}

const string& DescribeInstancesResponse::Instance::LockReason::GetLockReason(void) const {
  return LockReason_;
}

const string& DescribeInstancesResponse::Instance::Tag::GetTagKey(void) const {
  return TagKey_;
}

const string& DescribeInstancesResponse::Instance::Tag::GetTagValue(void) const {
  return TagValue_;
}

const std::vector<IpAddress>& DescribeInstancesResponse::Instance::VpcAttributes::GetPrivateIpAddress(void) const {
  return PrivateIpAddress_;
}

const string& DescribeInstancesResponse::Instance::VpcAttributes::GetVpcId(void) const {
  return VpcId_;
}

const string& DescribeInstancesResponse::Instance::VpcAttributes::GetVSwitchId(void) const {
  return VSwitchId_;
}

const string& DescribeInstancesResponse::Instance::VpcAttributes::GetNatIpAddress(void) const {
  return NatIpAddress_;
}

const string& DescribeInstancesResponse::Instance::EipAddress::GetAllocationId(void) const {
  return AllocationId_;
}

const string& DescribeInstancesResponse::Instance::EipAddress::GetIpAddress(void) const {
  return IpAddress_;
}

int DescribeInstancesResponse::Instance::EipAddress::GetBandwidth(void) const {
  return Bandwidth_;
}

const string& DescribeInstancesResponse::Instance::EipAddress::GetInternetChargeType(void) const {
  return InternetChargeType_;
}

const std::vector<DescribeInstancesResponse::Instance::LockReason>& DescribeInstancesResponse::Instance::GetOperationLocks(void) const {
  return OperationLocks_;
}

const std::vector<DescribeInstancesResponse::Instance::Tag>& DescribeInstancesResponse::Instance::GetTags(void) const {
  return Tags_;
}

const DescribeInstancesResponse::Instance::VpcAttributes& DescribeInstancesResponse::Instance::GetVpcAttributes(void) const {
  return VpcAttributes_;
}

const DescribeInstancesResponse::Instance::EipAddress& DescribeInstancesResponse::Instance::GetEipAddress(void) const {
  return EipAddress_;
}

const std::vector<SecurityGroupId>& DescribeInstancesResponse::Instance::GetSecurityGroupIds(void) const {
  return SecurityGroupIds_;
}

const std::vector<IpAddress>& DescribeInstancesResponse::Instance::GetPublicIpAddress(void) const {
  return PublicIpAddress_;
}

const std::vector<IpAddress>& DescribeInstancesResponse::Instance::GetInnerIpAddress(void) const {
  return InnerIpAddress_;
}

const string& DescribeInstancesResponse::Instance::GetInstanceId(void) const {
  return InstanceId_;
}

const string& DescribeInstancesResponse::Instance::GetInstanceName(void) const {
  return InstanceName_;
}

const string& DescribeInstancesResponse::Instance::GetDescription(void) const {
  return Description_;
}

const string& DescribeInstancesResponse::Instance::GetImageId(void) const {
  return ImageId_;
}

const string& DescribeInstancesResponse::Instance::GetRegionId(void) const {
  return RegionId_;
}

const string& DescribeInstancesResponse::Instance::GetZoneId(void) const {
  return ZoneId_;
}

const string& DescribeInstancesResponse::Instance::GetClusterId(void) const {
  return ClusterId_;
}

const string& DescribeInstancesResponse::Instance::GetInstanceType(void) const {
  return InstanceType_;
}

const string& DescribeInstancesResponse::Instance::GetHostName(void) const {
  return HostName_;
}

const string& DescribeInstancesResponse::Instance::GetStatus(void) const {
  return Status_;
}

const string& DescribeInstancesResponse::Instance::GetSerialNumber(void) const {
  return SerialNumber_;
}

const string& DescribeInstancesResponse::Instance::GetInternetChargeType(void) const {
  return InternetChargeType_;
}

int DescribeInstancesResponse::Instance::GetInternetMaxBandwidthIn(void) const {
  return InternetMaxBandwidthIn_;
}

int DescribeInstancesResponse::Instance::GetInternetMaxBandwidthOut(void) const {
  return InternetMaxBandwidthOut_;
}

const string& DescribeInstancesResponse::Instance::GetVlanId(void) const {
  return VlanId_;
}

const string& DescribeInstancesResponse::Instance::GetCreationTime(void) const {
  return CreationTime_;
}

const string& DescribeInstancesResponse::Instance::GetInstanceNetworkType(void) const {
  return InstanceNetworkType_;
}

const string& DescribeInstancesResponse::Instance::GetInstanceChargeType(void) const {
  return InstanceChargeType_;
}

const string& DescribeInstancesResponse::Instance::GetExpiredTime(void) const {
  return ExpiredTime_;
}

bool DescribeInstancesResponse::Instance::GetIoOptimized(void) const {
  return IoOptimized_;
}

bool DescribeInstancesResponse::Instance::GetDeviceAvailable(void) const {
  return DeviceAvailable_;
}

const std::vector<DescribeInstancesResponse::Instance>& DescribeInstancesResponse::GetInstances(void) const {
  return Instances_;
}

int DescribeInstancesResponse::GetTotalCount(void) const {
  return TotalCount_;
}

int DescribeInstancesResponse::GetPageNumber(void) const {
  return PageNumber_;
}

int DescribeInstancesResponse::GetPageSize(void) const {
  return PageSize_;
}

const char* DescribeInstancesResponse::BaseKey(void) {
  return "DescribeInstancesResponse";
}

void DescribeInstancesResponse::UnmarshallerMap(std::map<string, string>& response_map) {
  int Instances__length = 0;
  UnmarshallerInt(Instances__length, response_map, "DescribeInstancesResponse.Instances.Length");
  if(Instances__length >= 0) {
    Instances_.resize(Instances__length);
    for(int i1 = 0; i1 < Instances__length; i1++) {
      int Instances_i1_OperationLocks__length = 0;
      UnmarshallerInt(Instances_i1_OperationLocks__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].OperationLocks.Length");
      if(Instances_i1_OperationLocks__length >= 0) {
        Instances_[i1].OperationLocks_.resize(Instances_i1_OperationLocks__length);
        for(int i2 = 0; i2 < Instances_i1_OperationLocks__length; i2++) {
          UnmarshallerString(Instances_[i1].OperationLocks_[i2].LockReason_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].OperationLocks["+string_ValueOfInt(i2)+"].LockReason");
        } // for(int i2 = 0; i2 < Instances_i1_OperationLocks__length; i2++) {
      } // if(Instances_i1_OperationLocks__length >= 0) {

      int Instances_i1_Tags__length = 0;
      UnmarshallerInt(Instances_i1_Tags__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].Tags.Length");
      if(Instances_i1_Tags__length >= 0) {
        Instances_[i1].Tags_.resize(Instances_i1_Tags__length);
        for(int i2 = 0; i2 < Instances_i1_Tags__length; i2++) {
          UnmarshallerString(Instances_[i1].Tags_[i2].TagKey_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].Tags["+string_ValueOfInt(i2)+"].TagKey");
          UnmarshallerString(Instances_[i1].Tags_[i2].TagValue_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].Tags["+string_ValueOfInt(i2)+"].TagValue");
        } // for(int i2 = 0; i2 < Instances_i1_Tags__length; i2++) {
      } // if(Instances_i1_Tags__length >= 0) {

      int Instances_i1_SecurityGroupIds__length = 0;
      UnmarshallerInt(Instances_i1_SecurityGroupIds__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].SecurityGroupIds.Length");
      if(Instances_i1_SecurityGroupIds__length >= 0) {
        Instances_[i1].SecurityGroupIds_.resize(Instances_i1_SecurityGroupIds__length);
        for(int i2 = 0; i2 < Instances_i1_SecurityGroupIds__length; i2++) {
          UnmarshallerString(Instances_[i1].SecurityGroupIds_[i2], response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].SecurityGroupIds["+string_ValueOfInt(i2)+"]");
        } // for(int i2 = 0; i2 < Instances_i1_SecurityGroupIds__length; i2++) {
      } // if(Instances_i1_SecurityGroupIds__length >= 0) {

      int Instances_i1_PublicIpAddress__length = 0;
      UnmarshallerInt(Instances_i1_PublicIpAddress__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].PublicIpAddress.Length");
      if(Instances_i1_PublicIpAddress__length >= 0) {
        Instances_[i1].PublicIpAddress_.resize(Instances_i1_PublicIpAddress__length);
        for(int i2 = 0; i2 < Instances_i1_PublicIpAddress__length; i2++) {
          UnmarshallerString(Instances_[i1].PublicIpAddress_[i2], response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].PublicIpAddress["+string_ValueOfInt(i2)+"]");
        } // for(int i2 = 0; i2 < Instances_i1_PublicIpAddress__length; i2++) {
      } // if(Instances_i1_PublicIpAddress__length >= 0) {

      int Instances_i1_InnerIpAddress__length = 0;
      UnmarshallerInt(Instances_i1_InnerIpAddress__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].InnerIpAddress.Length");
      if(Instances_i1_InnerIpAddress__length >= 0) {
        Instances_[i1].InnerIpAddress_.resize(Instances_i1_InnerIpAddress__length);
        for(int i2 = 0; i2 < Instances_i1_InnerIpAddress__length; i2++) {
          UnmarshallerString(Instances_[i1].InnerIpAddress_[i2], response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].InnerIpAddress["+string_ValueOfInt(i2)+"]");
        } // for(int i2 = 0; i2 < Instances_i1_InnerIpAddress__length; i2++) {
      } // if(Instances_i1_InnerIpAddress__length >= 0) {

      UnmarshallerString(Instances_[i1].InstanceId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InstanceId");
      UnmarshallerString(Instances_[i1].InstanceName_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InstanceName");
      UnmarshallerString(Instances_[i1].Description_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].Description");
      UnmarshallerString(Instances_[i1].ImageId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].ImageId");
      UnmarshallerString(Instances_[i1].RegionId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].RegionId");
      UnmarshallerString(Instances_[i1].ZoneId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].ZoneId");
      UnmarshallerString(Instances_[i1].ClusterId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].ClusterId");
      UnmarshallerString(Instances_[i1].InstanceType_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InstanceType");
      UnmarshallerString(Instances_[i1].HostName_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].HostName");
      UnmarshallerString(Instances_[i1].Status_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].Status");
      UnmarshallerString(Instances_[i1].SerialNumber_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].SerialNumber");
      UnmarshallerString(Instances_[i1].InternetChargeType_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InternetChargeType");
      UnmarshallerInt(Instances_[i1].InternetMaxBandwidthIn_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InternetMaxBandwidthIn");
      UnmarshallerInt(Instances_[i1].InternetMaxBandwidthOut_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InternetMaxBandwidthOut");
      UnmarshallerString(Instances_[i1].VlanId_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].VlanId");
      UnmarshallerString(Instances_[i1].CreationTime_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].CreationTime");
      UnmarshallerString(Instances_[i1].InstanceNetworkType_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InstanceNetworkType");
      UnmarshallerString(Instances_[i1].InstanceChargeType_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].InstanceChargeType");
      UnmarshallerString(Instances_[i1].ExpiredTime_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].ExpiredTime");
      UnmarshallerBool(Instances_[i1].IoOptimized_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].IoOptimized");
      UnmarshallerBool(Instances_[i1].DeviceAvailable_, response_map, "DescribeInstancesResponse.Instances["+string_ValueOfInt(i1)+"].DeviceAvailable");
      int Instances_i1_VpcAttributes__PrivateIpAddress__length = 0;
      UnmarshallerInt(Instances_i1_VpcAttributes__PrivateIpAddress__length, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].VpcAttributes.PrivateIpAddress.Length");
      if(Instances_i1_VpcAttributes__PrivateIpAddress__length >= 0) {
        Instances_[i1].VpcAttributes_.PrivateIpAddress_.resize(Instances_i1_VpcAttributes__PrivateIpAddress__length);
        for(int i3 = 0; i3 < Instances_i1_VpcAttributes__PrivateIpAddress__length; i3++) {
          UnmarshallerString(Instances_[i1].VpcAttributes_.PrivateIpAddress_[i3], response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].VpcAttributes.PrivateIpAddress["+string_ValueOfInt(i3)+"]");
        } // for(int i3 = 0; i3 < Instances_i1_VpcAttributes__PrivateIpAddress__length; i3++) {
      } // if(Instances_i1_VpcAttributes__PrivateIpAddress__length >= 0) {

      UnmarshallerString(Instances_[i1].VpcAttributes_.VpcId_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].VpcAttributes.VpcId");
      UnmarshallerString(Instances_[i1].VpcAttributes_.VSwitchId_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].VpcAttributes.VSwitchId");
      UnmarshallerString(Instances_[i1].VpcAttributes_.NatIpAddress_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].VpcAttributes.NatIpAddress");
      UnmarshallerString(Instances_[i1].EipAddress_.AllocationId_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].EipAddress.AllocationId");
      UnmarshallerString(Instances_[i1].EipAddress_.IpAddress_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].EipAddress.IpAddress");
      UnmarshallerInt(Instances_[i1].EipAddress_.Bandwidth_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].EipAddress.Bandwidth");
      UnmarshallerString(Instances_[i1].EipAddress_.InternetChargeType_, response_map, "DescribeInstancesResponse.Instances[+"+string_ValueOfInt(i1)+"].EipAddress.InternetChargeType");
    } // for(int i1 = 0; i1 < Instances__length; i1++) {
  } // if(Instances__length >= 0) {

  UnmarshallerInt(TotalCount_, response_map, "DescribeInstancesResponse.TotalCount");
  UnmarshallerInt(PageNumber_, response_map, "DescribeInstancesResponse.PageNumber");
  UnmarshallerInt(PageSize_, response_map, "DescribeInstancesResponse.PageSize");
}


} } // namespace aliyun { namespace Ecs {

// end of file 
